import { defineStore } from 'pinia'
import { ref } from 'vue'
import { loginAPI } from '@/apis/user'  
import { useCartStore } from './cartStore'
import { mergeCartAPI } from '@/apis/cart'
export const useUserStore = defineStore(
    'user',
    () => {
    const userInfo = ref({})
    const cartStore = useCartStore()

    const getUserInfo = async (user) => {
        const { result } = await loginAPI(user)
        userInfo.value = result
        await mergeCartAPI(cartStore.cartList.map(item => {
            return {
                skuId:item.skuId,
                selected:item.selected,
                count:item.count
            }
        }))

        await cartStore.updateLoginCartList()
    }

    //退出时清除用户信息
    const clearUserInfo = () => {
        userInfo.value = {}
        cartStore.clearCart()
    }
    return {
        userInfo,
        getUserInfo,
        clearUserInfo
        }
    },

    {
        persist:true
    }
)
